<?php

namespace Sisesporte\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="afastamento")
 * @ORM\Entity(repositoryClass="Sisesporte\Repository\AfastamentoRepository")
 */
class Afastamento {

    public function __construct($options = null) {
        Configurator::configure($this, $options);
    }

    /**
     * @var $sqAfastamento
     * @ORM\Column(name="sq_afastamento", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $sqAfastamento;

    /**
     * @var Sisesporte\Entity\Pessoa $sqPessoa
     * @ORM\ManyToOne(targetEntity="Sisesporte\Entity\Pessoa", inversedBy="sq_pessoa")
     * @ORM\JoinColumn(name="sq_pessoa", referencedColumnName="sq_pessoa")
     */
    protected $sqPessoa;
    
    /**
     * @var Sisesporte\Entity\TipoAfastamento $sqTipoAfastamento
     * @ORM\ManyToOne(targetEntity="Sisesporte\Entity\TipoAfastamento", inversedBy="sq_tipo_afastamento")
     * @ORM\JoinColumn(name="sq_tipo_afastamento", referencedColumnName="sq_tipo_afastamento")
     */
    protected $sqTipoAfastamento;
    
     /**
     * @var datetime $dtInicio
     * @ORM\Column(name="dt_inicio", type="datetime", nullable=true)
     */
    protected $dtInicio;
    
    /**
     * @var datetime $dtFinal
     * @ORM\Column(name="dt_final", type="datetime", nullable=true)
     */
    protected $dtFinal;
    
    /**
     * @var string $coDocumento
     * @ORM\Column(name="co_documento", type="text", nullable=true)
     */
    protected $coDocumento;

    /**
     * @var string $txJustificativa
     * @ORM\Column(name="tx_justificativa", type="text", nullable=true)
     */
    protected $txJustificativa;

    /**
     * @var boolean $stAtivo
     * @ORM\Column(name="st_ativo", type="boolean", nullable=true)
     */
    protected $stAtivo;

    public function getSqAfastamento() {
        return $this->sqAfastamento;
    }

    public function getSqPessoa() {
        return $this->sqPessoa;
    }

    public function setSqPessoa(Pessoa $sqPessoa) {
        $this->sqPessoa = $sqPessoa;
    }

    public function getSqTipoAfastamento() {
        return $this->sqTipoAfastamento;
    }

    public function setSqTipoAfastamento(TipoAfastamento $sqTipoAfastamento) {
        $this->sqTipoAfastamento = $sqTipoAfastamento;
    }

    public function getDtInicio() {
        return $this->dtInicio;
    }

    public function setDtInicio(datetime $dtInicio) {
        $this->dtInicio = $dtInicio;
    }

    public function getDtFinal() {
        return $this->dtFinal;
    }

    public function setDtFinal(datetime $dtFinal) {
        $this->dtFinal = $dtFinal;
    }

    public function getCoDocumento() {
        return $this->coDocumento;
    }

    public function setCoDocumento($coDocumento) {
        $this->coDocumento = $coDocumento;
    }

    public function getTxJustificativa() {
        return $this->txJustificativa;
    }

    public function setTxJustificativa($txJustificativa) {
        $this->txJustificativa = $txJustificativa;
    }

    public function getStAtivo() {
        return $this->stAtivo;
    }

    public function setStAtivo($stAtivo) {
        $this->stAtivo = $stAtivo;
    }

    public function toArray() {
        return array(
            'sqAfastamento' => $this->getSqAfastamento(),
            'sqPessoa' => $this->getSqPessoa(),
            'sqTipoAfastamento' =>  $this->getSqTipoAfastamento(),
            'dtInicio'=>  $this->getDtInicio(),
            'dtFinal'=>  $this->getDtFinal(),
            'coDocumento'=>  $this->getCoDocumento(),
            'txJustificativa'=>  $this->getTxJustificativa(),
            'stAtivo'=>  $this->getStAtivo()
        );
    }

}
